<template>
  <div>
    <div class="bg-white grid-content">
      <div style="overflow: hidden">
        <div class="mytitle">
          <svg-icon icon-class="yjbb" class="myIcon" />
          数字化注入井生产日报数据审核
        </div>
      </div>
      <!-- 表格 -->
      <el-table :data="tableData" stripe>
        <el-table-column
          type="selection"
          label="选择"
          width="50"
          align="center"
        >
        </el-table-column>
        <el-table-column type="index" label="序号" :index="indexMethod">
        </el-table-column>
        <el-table-column prop="operaArea" label="作业区" align="center">
        </el-table-column>
        <el-table-column prop="zcb" label="注采班" align="center">
        </el-table-column>
        <el-table-column prop="psj" label="配注（水）间" align="center">
        </el-table-column>
        <el-table-column prop="poundSign" label="井号" align="center">
        </el-table-column>
        <el-table-column
          prop="proTime"
          label="生产时间（h:min）"
          align="center"
        >
        </el-table-column>
        <el-table-column prop="injectMethod" label="注入方式" align="center">
        </el-table-column>
        <el-table-column
          prop="pressValue"
          label="允许注入压力（MPa）"
          align="center"
        >
        </el-table-column>
        <el-table-column prop="zrsj" label="昨日数据" align="center">
          <el-table-column
            prop="zrsjZsyl"
            label="注水压力（MPa）"
            align="center"
          >
            <el-table-column prop="zrsjZsylBy" label="泵压" align="center">
            </el-table-column>
            <el-table-column prop="zrsjZsylYy" label="油压" align="center">
            </el-table-column>
            <el-table-column prop="zrsjZsylTy" label="套压" align="center">
            </el-table-column>
          </el-table-column>
          <el-table-column
            prop="zrsj_sbds"
            label="水表读数（m3）"
            align="center"
          >
            <el-table-column prop="sbdsStart" label="始" align="center">
            </el-table-column>
            <el-table-column prop="sbdsEnd" label="终" align="center">
            </el-table-column>
          </el-table-column>
          <el-table-column
            prop="zrsjRzrl"
            label="日注入量(m3/d)"
            align="center"
          >
          </el-table-column>
          <el-table-column
            prop="zrsjRpzl"
            label="日配注量(m3/d)"
            align="center"
          >
          </el-table-column>
        </el-table-column>
        <el-table-column prop="jrsj" label="今日数据" align="center">
          <el-table-column
            prop="jrsjZsyl"
            label="注水压力（MPa）"
            align="center"
          >
            <el-table-column prop="jrsjZsylBy" label="泵压" align="center">
            </el-table-column>
            <el-table-column prop="jrsjZsylYy" label="油压" align="center">
            </el-table-column>
            <el-table-column prop="jrsjZsylTy" label="套压" align="center">
            </el-table-column>
          </el-table-column>
          <el-table-column
            prop="jrsj_sbds"
            label="水表读数（m3）"
            align="center"
          >
            <el-table-column prop="sbdsStart2" label="始" align="center">
            </el-table-column>
            <el-table-column prop="sbdsEnd2" label="终" align="center">
            </el-table-column>
          </el-table-column>
          <el-table-column
            prop="jrsjRzrl"
            label="日注入量(m3/d)"
            align="center"
          >
          </el-table-column>
          <el-table-column
            prop="jrsjRpzl"
            label="日配注量(m3/d)"
            align="center"
          >
          </el-table-column>
        </el-table-column>
        <el-table-column prop="cz" label="今日与昨日数据差值" align="center">
          <el-table-column prop="czZsyl" label="注水压力（MPa）" align="center">
            <el-table-column prop="czZsylBy" label="泵压" align="center">
            </el-table-column>
            <el-table-column prop="czZsylYy" label="油压" align="center">
            </el-table-column>
            <el-table-column prop="czZsylTy" label="套压" align="center">
            </el-table-column>
          </el-table-column>
          <el-table-column prop="czRzrl" label="日注入量(m3/d)" align="center">
          </el-table-column>
          <el-table-column prop="czRpzl" label="日配注量(m3/d)" align="center">
          </el-table-column>
        </el-table-column>
        <el-table-column prop="jr" label="今日" align="center">
          <el-table-column prop="jrCz" label="泵压-油压（MPa）" align="center">
          </el-table-column>
        </el-table-column>
        <el-table-column prop="bz" label="备注" width="100" align="center">
        </el-table-column>

        <el-table-column
          align="center"
          fixed="right"
          prop="approveStatus"
          label="审核状态"
        >
          <template slot-scope="scope">
            <el-tag
              :type="
                scope.row.approveStatus == '2'
                  ? 'success'
                  : scope.row.approveStatus == '1'
                  ? 'warning'
                  : scope.row.approveStatus == '0'
                  ? 'info'
                  : 'danger'
              "
              disable-transitions
              >{{
                scope.row.approveStatus == "2"
                  ? "已通过"
                  : scope.row.approveStatus == "1"
                  ? "未审核"
                  : scope.row.approveStatus == "0"
                  ? "未提交"
                  : "未通过"
              }}</el-tag
            >
          </template>
        </el-table-column>
        <el-table-column align="center" fixed="right" label="操作" width="100">
          <template slot-scope="scope">
            <el-button @click="handleClick(scope.row, 'check')" type="text"
              >查看</el-button
            >
            <el-button @click="handleClick(scope.row, 'edit')" type="text"
              >审核</el-button
            >
          </template>
        </el-table-column>
      </el-table>
      <!-- 分页器 -->
      <el-pagination
        align="right"
        background
        @size-change="handleSizeChange"
        @current-change="handleCurrentChange"
        :current-page="pageNo"
        :page-sizes="[5, 10, 20, 30, 40, 50]"
        :page-size="pageSize"
        layout="total, sizes, prev, pager, next, jumper"
        :total="total"
      >
      </el-pagination>
    </div>

    <!-- 弹出框 -->
    <el-dialog
      :title="myDialogTitle"
      :visible.sync="dialogFormVisible"
      :before-close="handleClose"
      :custom-class="saveAsDialog"
    >
      <el-form
        v-show="ischeck"
        :inline="true"
        :model="szhzrjForm"
        class="demo-form-inline"
        :rules="rules"
        ref="szhzrjForm"
        :disabled="isInput"
        label-position="left"
        label-width="190px"
      >
        <!-- <el-divider content-position="left">基础信息</el-divider> -->

        <el-row>
          <el-col :span="12">
            <el-form-item label="作业区:">
              <el-select
                v-model="szhzrjForm.operaArea"
                placeholder="请选择作业区"
                clearable
              >
                <el-option
                  v-for="item in zyqOptions"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                >
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="注采班:">
              <el-select
                v-model="szhzrjForm.zcb"
                placeholder="请选择注采班"
                clearable
              >
                <el-option
                  v-for="item in zcbOptions"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                >
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>

        <el-divider content-position="left">生产信息</el-divider>

        <el-row>
          <el-col :span="12">
            <el-form-item label="配注（水）间:">
              <el-input
                v-model="szhzrjForm.psj"
                placeholder="请输入配注（水）间"
              ></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="井号:">
              <el-input
                v-model="szhzrjForm.poundSign"
                placeholder="请输入井号"
              ></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="注入方式:">
              <el-input
                v-model="szhzrjForm.zrfs"
                placeholder="请输入注入方式"
              ></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="允许注入压力(MPa)：">
              <el-input
                v-model="szhzrjForm.yxzryl"
                placeholder="请输入请输入允许注入压力"
              ></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-divider content-position="left">数据信息</el-divider>
        <el-row>
          <el-col :span="12">
            <el-form-item label="数据日期:">
              <el-select
                v-model="szhzrjForm.rq"
                placeholder="请选择数据日期"
                clearable
              >
                <el-option
                  v-for="item in rqOptions"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                >
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="8">
            <el-form-item label="注水泵压(MPa):">
              <el-input
                v-model="szhzrjForm.zsby"
                placeholder="请输入注水泵压"
              ></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="注水油压(MPa):">
              <el-input
                v-model="szhzrjForm.zsyy"
                placeholder="请输入注水油压"
              ></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="注水套压(MPa):">
              <el-input
                v-model="szhzrjForm.zsty"
                placeholder="请输入注水套压"
              ></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="日注入量(m3/d):">
              <el-input
                v-model="szhzrjForm.rzrl"
                placeholder="请输入日注入量"
              ></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="日配注量(m3/d):">
              <el-input
                v-model="szhzrjForm.rpzl"
                placeholder="请输入日配注量"
              ></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-divider content-position="left">差值情况</el-divider>
        <el-row>
          <el-col :span="8">
            <el-form-item label="注水泵压(MPa):">
              <el-input
                v-model="szhzrjForm.cz_zsby"
                placeholder="请输入注水泵压"
              ></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="注水油压(MPa):">
              <el-input
                v-model="szhzrjForm.cz_zsyy"
                placeholder="请输入注水油压"
              ></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="8">
            <el-form-item label="注水套压(MPa):">
              <el-input
                v-model="szhzrjForm.cz_zsty"
                placeholder="请输入注水套压"
              ></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="日注入量(m3/d):">
              <el-input
                v-model="szhzrjForm.cz_rzrl"
                placeholder="请输入日注入量"
              ></el-input>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="日配注量(m3/d):">
              <el-input
                v-model="szhzrjForm.cz_rpzl"
                placeholder="请输入日配注量"
              ></el-input>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="泵压-油压(MPa):">
              <el-input
                v-model="szhzrjForm.cz"
                placeholder="请输入泵压与油压的差值"
              ></el-input>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>

      <el-form
        v-show="!ischeck"
        :inline="true"
        :model="szhzrjForm"
        class="demo-form-inline"
        ref="szhzrjForm"
      >
        <el-form-item label="审核">
          <el-select
            v-model="szhzrjForm.approveStatus"
            placeholder="请选择审核状态"
          >
            <!-- szhzrjForm.approveStatus=='0'? szhzrjForm.approveStatus == '未审核':szhzrjForm.approveStatus=='1'?szhzrjForm.approveStatus == '通过':szhzrjForm.approveStatus == '不通过' -->
            <el-option label="未审核" value="1"></el-option>
            <el-option label="通过" value="2"></el-option>
            <el-option label="不通过" value="3"></el-option>
          </el-select>
        </el-form-item>

        <el-row>
          <el-form-item label="审核备注:">
            <el-input
              v-model="szhzrjForm.approveBz"
              placeholder="请输入审核备注"
            ></el-input>
          </el-form-item>
        </el-row>
      </el-form>

      <div slot="footer" class="dialog-footer" v-show="!ischeck">
        <el-button @click="close('szhzrjForm')">取 消</el-button>
        <el-button type="primary" @click="submitForm('szhzrjForm')"
          >确 定</el-button
        >
      </div>
    </el-dialog>
  </div>
</template>

<script>
import szhzrjscrbsjApi from "@/api/szhzrjscrbsj";

export default {
  data() {
    return {
      pageNo: 1, //当前页码
      pageSize: 10, //每页显示数量
      total: 0, //总数量
      // table数据
      tableData: [],
      //当前页码
      currentPage: 1,
      //表单填报的数据
      szhzrjForm: {
        id: "",
        operaArea: "", //作业区
        zcb: "", //注采班
        psj: "", //配注间
        poundSign: "", //井号
        scsj: "", //生产时间
        proTime: "", //注入方式
        pressValue: "", //允许注入压力
        zrsjZsylBy: "", //昨日数据-注水压力-泵压
        zrsjZsylYy: "", //昨日数据-注水压力-油压
        zrsjZsylTy: "", //昨日数据-注水压力-套压
        sbdsStart: "", //昨日数据-开始水表读数
        sbdsEnd: "", //昨日数据-结束水表读数
        zrsjRzrl: "", //昨日数据-日注入量
        zrsjRpzl: "", //昨日数据-日配注量
        jrsjZsylBy: "", //今日数据-注水压力-泵压
        jrsjZsylYy: "", //今日数据-注水压力-油压
        jrsjZsylTy: "", //今日数据-注水压力-套压
        sbdsStart2: "", //今日数据-开始水表读数
        sbdsEnd2: "", //今日数据-结束水表读数
        jrsjRzrl: "", //今日数据-日注入量
        jrsjRpzl: "", //今日数据-日配注量
        czZsylBy: "", //今日与昨日数据差值-注水压力-泵压
        czZsylYy: "", //今日与昨日数据差值-注水压力-油压
        czZsylTy: "", //今日与昨日数据差值-注水压力-套压
        czRzrl: "", //今日与昨日数据差值-日注入量
        czRpzl: "", //今日与昨日数据差值-日配注量
        jrCz: "", //今日与昨日数据差值-泵压与油压差值
        bz: "", //备注
      },
      //验证规则
      rules: {
        szhzrjmc: [
          { required: true, message: "请输入水源井名称", trigger: "blur" },
        ],
        ssdw: [{ required: true, message: "请输入所属单位", trigger: "blur" }],
        tcrq: [{ required: true, message: "请选择日期", trigger: "change" }],
      },
      //时间快捷选择
      pickerOptions: {
        // disabledDate(time) {
        //   return time.getTime() > Date.now();
        // },
        shortcuts: [
          {
            text: "今天",
            onClick(picker) {
              picker.$emit("pick", new Date());
            },
          },
          {
            text: "昨天",
            onClick(picker) {
              const date = new Date();
              date.setTime(date.getTime() - 3600 * 1000 * 24);
              picker.$emit("pick", date);
            },
          },
          {
            text: "一周前",
            onClick(picker) {
              const date = new Date();
              date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
              picker.$emit("pick", date);
            },
          },
        ],
      },
      //获取当前日期
      currentTime: "",
      //
      saveAsDialog: "",
      //编辑框是否显示
      dialogFormVisible: false,
      //弹出框是否是查看
      ischeck: false,
      //控制查看时不可更改数据
      isInput: false,
      //弹出框标题
      myDialogTitle: "",
    };
  },
  created() {
    this.search();
  },
  mounted() {
    this.filterTime();
    // this.initDate();
  },
  // computed:{
  //   isBetterToStr() {
  //     return this.szhzrjForm.approveStatus.toString()
  //   }
  // },
  methods: {
    /**
     * 查询列表
     */
    async search() {
      // this.pageNo = pageNo; //当前页码
      // this.pageSize = pageSize; //每页显示数量
      //发送查询请求
      let res = await szhzrjscrbsjApi.getDataList(
        this.pageNo,
        this.pageSize,
        0
      );
      //判断是否成功
      if (res.success) {
        console.log(res.data);
        //赋值
        this.tableData = res.data.records;
        //总数量
        this.total = res.data.total;
      }
    },
    onSubmit() {
      console.log("submit!");
    },
    //关闭对话框
    handleClose(done) {
      // 清空表单
      // this.$refs['szhzrjForm'].resetFields();
      // 清空表单校验，避免再次进来会出现上次校验的记录
      this.$refs["szhzrjForm"].clearValidate();
      done();
    },
    // 弹框关闭触发
    close(formName) {
      this.dialogFormVisible = false;
      // 清空表单校验，避免再次进来会出现上次校验的记录
      this.$refs[formName].clearValidate();
    },

    submitForm(formName) {
      //表单验证
      this.$refs[formName].validate(async (valid) => {
        if (valid) {
          let res = null;
          console.log(this.szhzrjForm.id + "111");
          //判断菜单ID是否为空
          if (this.szhzrjForm.id === "") {
            // this.szhzrjForm.rq = this.currentTime;
            //发送添加请求
            res = await szhzrjscrbsjApi.addData(this.szhzrjForm);
          } else {
            //发送审核请求
            console.log(334345);
            res = await szhzrjscrbsjApi.updateData(this.szhzrjForm);
          }
          console.log(res);
          //判断是否成功
          if (res.success) {
            // this.$message.success(res.message);
            this.$message({ message: "修改审核状态成功！", type: "success" });
            //刷新
            this.search();
            //关闭窗口
            this.dialogFormVisible = false;
          } else {
            console.log(res);
            this.$message.error(res.message);
          }
        }
      });
    },
    handleClick(row, handle) {
      // console.log(row.approveStatus);
      this.dialogFormVisible = true;
      if (handle == "check") {
        this.myDialogTitle = "水源井统计报表";
        this.saveAsDialog = "saveAsDialog1";
        this.ischeck = true;
        this.isInput = true; // 1.表单禁用
        // this.szhzrjForm = row
        this.$objCopy(row, this.szhzrjForm); //把当前要编辑的数据复制到数据域，给表单回显
        this.$message({ message: "成功打开", type: "success" });
      } else if (handle == "edit") {
        if (row.approveStatus != 2) {
          this.myDialogTitle = "水源井统计报表审核";
          this.saveAsDialog = "saveAsDialog2";
          this.ischeck = false;
          this.isInput = false;
          this.$objCopy(row, this.szhzrjForm); //把当前要编辑的数据复制到数据域，给表单回显
          this.szhzrjForm.approveStatus = row.approveStatus.toString();
        } else {
          this.dialogFormVisible = false;
          this.$message({ message: "已通过不可再审核！", type: "error" });
        }
      }
    },
    /*** 当每页数量发生变化时触发该事件 */
    handleSizeChange(size) {
      console.log(size);
      this.pageSize = size;
      //将每页显示的数量交给成员变量
      this.search(this.pageNo, size);
    },
    /*** 当页码发生变化时触发该事件 */
    handleCurrentChange(page) {
      console.log(page);
      this.pageNo = page;
      //调用查询方法
      this.search(page, this.pageSize);
    },
    // 序号计算
    indexMethod(index) {
      // index默认在0开始，这里+1
      return index + 1 + (this.pageNo - 1) * this.pageSize;
    },
    // 获取当前日期
    filterTime() {
      var date = new Date();
      var y = date.getFullYear();
      var m = date.getMonth() + 1;
      m = m < 10 ? "0" + m : m;
      var d = date.getDate();
      d = d < 10 ? "0" + d : d;
      this.currentTime = y + "-" + m + "-" + d;
    },
  },
};
</script>

<style lang="scss" scoped>
// 标题
.mytitle {
  font-size: large;
  padding-left: 10px;
  margin-bottom: 16px;
  float: left;
}

//按钮组
.myButtons {
  float: right;
}

//格子的样式
.bg-white {
  background: #ffffff;
}

.grid-content {
  padding: 10px;
  margin-bottom: 10px;
  border-radius: 4px;
}

.calendar ::v-deep .el-button-group::before {
  display: none;
}

.calendar ::v-deep .el-button-group::after {
  display: none;
}

// 分割线样式
.el-divider--horizontal {
  display: block;
  height: 2px;
  width: 100%;
  margin: 24px 0;
}

// 表单各项的样式
.el-form-item {
  margin: 15px 10px 15px 10px;
}

//表单禁用字体样式
.el-input.is-disabled ::v-deep .el-input__inner {
  color: #606266;
}
//对话框宽度
// .customWidth{
//         width:80%;
//     }
::v-deep .saveAsDialog1 {
  width: 60% !important;
}
::v-deep .saveAsDialog2 {
  width: 20% !important;
}
//日期选择框宽度
.el-date-editor.el-input,
.el-date-editor.el-input__inner {
  width: 200px;
}

.el-input {
  width: 200px;
}
</style>